Chegou a hora da Computação em Névoa

O paradigma de computação em Nuvem já não é suficiente para suportar (sozinho) as demandas das aplicações modernas. É nesse momento que as atenções têm sido voltadas para a computação em Névoa.

O crescimento do número de dispositivos interligados à Internet já é uma realidade nos dias atuais. Em praticamente todos os lugares, é possível que exista pelo menos algum dispositivo inteligente capaz de realizar alguma tarefa de análise de características de interesse, como temperatura, pressão atmosférica, sinais vitais de uma pessoa (batimentos cardíacos, saturação de oxigênio, etc), dentre outras, através de sensores competentes para tal. E então, compartilhar esses dados para grandes data centers na Nuvem, para posteriormente serem processados, armazenados e acessados por aplicações.

Ainda assim, graças ao rápido avanço tecnológico dos últimos anos, que permitiu generosas melhorias de processamento, conectividade e armazenamento dos dispositivos, é comum que o dispositivo que realiza alguma tarefa de sensoriamento (ou algum outro próximo a este) possa processar algo necessário da aplicação. Por exemplo, um smartphone pode realizar processamento dos dados referentes as características físicas que foram obtidas por um relógio inteligente e sugerir pra você, em tempo real, atividades físicas individualizadas, considerando suas necessidades específicas. A tecnologia que permite a existência dessas vantagens já têm um nome, é uma realidade e promete ser uma das maiores revoluções sociais e industriais deste século: a Internet das Coisas (ou IoT, de Internet of Things).

Como o próprio nome já diz, é a Internet das coisas…ou seja, a Internet não é mais destinada apenas aos tradicionais desktop, comunicando com servidores ou compartilhando recursos com outros computadores, mas também de dispositivos inteligentes, com grandes possibilidades de conectividade (cabeadas ou sem fio), dotados ou não de processamento e armazenamento considerados ideais para realizar tarefas. Esses dispositivos são muito heterogêneos entre si (tamanhos diferentes, preços diferentes, objetivos diferentes, etc). Atualmente, quase tudo pode se conectar em uma rede. Desde drones até espelhos inteligentes, como pode ser visto no vídeo abaixo, onde no melhor estilo filme futurista, um espelho inteligente é utilizado juntamente com a assistente de voz Alexa, da Amazon para informar data e hora, temperatura, notícias e tocar suas músicas favoritas.

Grande parte das aplicações IoT necessita de comunicação intensa com a Nuvem e isso pode ser um “problema”. Existem casos onde a conexão com a Internet é limitada (como em áreas rurais) ou a troca de dados com a Nuvem é muito intensa, o que pode gerar taxas extras de conexão cobradas pelos provedores de Internet ou do provedor de serviços na Nuvem. Além disso, muitas aplicações geram um volume grande de dados, que deveriam trafegar até a Nuvem (gerenciar características de um voo de uma aeronave, por exemplo, pode gerar petabytes de dados em poucos minutos) ou ainda, ser necessário obter respostas em tempo real, o que nem sempre é possível, levando em consideração o atraso existente na comunicação com a Nuvem. Aplicações com restrição de tempo, como jogos online, por exemplo, podem ter um desempenho insatisfatório se depender do atraso na entrega de dados da Nuvem, por mais que essa demora possa ser de alguns milissegundos.

Pensando nisso e levando em consideração o potencial que os dispositivos têm alcançado nos últimos anos, um novo paradigma de computação emergiu: a computação de borda (edge computing). A computação de borda é toda e qualquer técnica em que o potencial dos dispositivos localizados na borda da rede possa ser explorado para apoiar a execução das rotinas de um serviço. Os dispositivos podem realizar pré-processamento e enviar menos dados até a Nuvem. Existem algumas abordagens em computação de borda, dentre elas, a promissora computação em Névoa (também conhecida como computação de Nevoeiro).

Em um cenário de computação em Névoa, dispositivos geograficamente próximos dos usuários e consequentemente, na borda da rede, podem doar suas capacidades de computação (como processamento e armazenamento), para execução de serviços. Como esses dispositivos podem estar conectados a altas velocidades de comunicação e em redes locais (menores latências), um dos principais objetivos deste novo paradigma de computação é cooperar com a Nuvem (como dito anteriormente, realizando pré-processamento local), provendo baixas latências, alta escalabilidade, suporte a mobilidade, dentre outros benefícios. Daí a analogia com o nome “névoa”: a nuvem está longe de nós, mas a névoa, pode estar mais mais próxima e pode ser até “palpável”. A Névoa é “feita sob medida” para suportar o crescimento da IoT: aplicações IoT podem necessitar de muitos dispositivos e quanto mais dispositivos estão na borda da rede, maiores as chances de encontrar os potenciais para executar as demandas das aplicações.

árvores na Névoa

Aplicações críticas, como aquelas das cidades inteligentes, se beneficiam das possibilidades que este novo paradigma traz. A Névoa é uma área relativamente nova e promissora, sendo campo de interesse da pesquisa e da indústria. Já existe um consórcio de grandes empresas da área de Tecnologia e Universidades, o Industrial Internet Consortium (antes chamado de OpenFog Consortium) com a finalidade de fomentar pesquisas , apresentando soluções e ideias voltadas para este paradigma.

Nuvem x Névoa

Afinal de contas, a Névoa vai substituir toda a superestrutura da Nuvem? A resposta para esta pergunta é: “não”. Como frisado acima, o conceito da computação em Névoa é cooperar com a Nuvem. Por mais que os dispositivos na borda possam desempenhar papéis importantes graças as suas características de processamento, não são capazes de substituir os data centers da Nuvem, que têm capacidades incomparáveis em relação a estes últimos.

Importantes trabalhos focam na estratégia de alocação ideal de recursos da borda e offloading de tarefas (quando uma aplicação pode ser desempenhada, em sua totalidade ou parcialmente, nos dispositivos da borda). Cabe a esta estratégia avaliar a viabilidade de processamento das tarefas realizadas pelos dispositivos da borda e quando deve ser “acionada” a Nuvem.

Indicação de leitura

Eu e os autores Vitor Barbosa Souza e Sócrates S. Araújo Júnior, ambos da Universidade Federal de Viçosa, publicamos um artigo relacionado com este tema nos anais da 27th International Conference on Software, Telecommunications and Computer Networks (SoftCOM 2019), realizado em Split-Croácia. Neste trabalho, propomos um modelo de computação distribuído baseado em classificação e que seleciona potenciais nós controladores (dispositivos da borda), em tempo real, para prover “controle-como-um-serviço” em ambiente de computação dinâmico e heterogêneo, como a Névoa, levando em consideração as características dinâmicas dos dispositivos. O artigo pode ser encontrado na biblioteca digital do IEEE Xplore.

E aí, já conhecia a computação em Névoa? Achou interessante? Espero que tenha gostado. Sinta-se convidado para expor sua opinião sobre este artigo , dar sugestões ou tirar alguma dúvida.

Deixe um comentário

O seu endereço de e-mail não será publicado.